#include <stdio.h>
#include "../header/ChargerCartes.h"
#include "../header/Callbacks.h"
#include <gdk/gdk.h>


void chargerImages(Jeu *j)
{
    j->jeu[0].pixbuf = gdk_pixbuf_new_from_file("data/Pique_7.png", NULL);
    j->jeu[1].pixbuf = gdk_pixbuf_new_from_file("data/Pique_8.png", NULL);
    j->jeu[2].pixbuf = gdk_pixbuf_new_from_file("data/Pique_9.png", NULL);
    j->jeu[3].pixbuf = gdk_pixbuf_new_from_file("data/Pique_10.png", NULL);
    j->jeu[4].pixbuf = gdk_pixbuf_new_from_file("data/Pique_valet.png", NULL);
    j->jeu[5].pixbuf = gdk_pixbuf_new_from_file("data/Pique_dame.png", NULL);
    j->jeu[6].pixbuf = gdk_pixbuf_new_from_file("data/Pique_roi.png", NULL);
    j->jeu[7].pixbuf = gdk_pixbuf_new_from_file("data/Pique_as.png", NULL);

    j->jeu[8].pixbuf = gdk_pixbuf_new_from_file("data/Coeur_7.png", NULL);
    j->jeu[9].pixbuf = gdk_pixbuf_new_from_file("data/Coeur_8.png", NULL);
    j->jeu[10].pixbuf = gdk_pixbuf_new_from_file("data/Coeur_9.png", NULL);
    j->jeu[11].pixbuf = gdk_pixbuf_new_from_file("data/Coeur_10.png", NULL);
    j->jeu[12].pixbuf = gdk_pixbuf_new_from_file("data/Coeur_valet.png", NULL);
    j->jeu[13].pixbuf = gdk_pixbuf_new_from_file("data/Coeur_dame.png", NULL);
    j->jeu[14].pixbuf = gdk_pixbuf_new_from_file("data/Coeur_roi.png", NULL);
    j->jeu[15].pixbuf = gdk_pixbuf_new_from_file("data/Coeur_as.png", NULL);

    j->jeu[16].pixbuf = gdk_pixbuf_new_from_file("data/Carreau_7.png", NULL);
    j->jeu[17].pixbuf = gdk_pixbuf_new_from_file("data/Carreau_8.png", NULL);
    j->jeu[18].pixbuf = gdk_pixbuf_new_from_file("data/Carreau_9.png", NULL);
    j->jeu[19].pixbuf = gdk_pixbuf_new_from_file("data/Carreau_10.png", NULL);
    j->jeu[20].pixbuf = gdk_pixbuf_new_from_file("data/Carreau_valet.png", NULL);
    j->jeu[21].pixbuf = gdk_pixbuf_new_from_file("data/Carreau_dame.png", NULL);
    j->jeu[22].pixbuf = gdk_pixbuf_new_from_file("data/Carreau_roi.png", NULL);
    j->jeu[23].pixbuf = gdk_pixbuf_new_from_file("data/Carreau_as.png", NULL);

    j->jeu[24].pixbuf = gdk_pixbuf_new_from_file("data/Trefle_7.png", NULL);
    j->jeu[25].pixbuf = gdk_pixbuf_new_from_file("data/Trefle_8.png", NULL);
    j->jeu[26].pixbuf = gdk_pixbuf_new_from_file("data/Trefle_9.png", NULL);
    j->jeu[27].pixbuf = gdk_pixbuf_new_from_file("data/Trefle_10.png", NULL);
    j->jeu[28].pixbuf = gdk_pixbuf_new_from_file("data/Trefle_valet.png", NULL);
    j->jeu[29].pixbuf = gdk_pixbuf_new_from_file("data/Trefle_dame.png", NULL);
    j->jeu[30].pixbuf = gdk_pixbuf_new_from_file("data/Trefle_roi.png", NULL);
    j->jeu[31].pixbuf = gdk_pixbuf_new_from_file("data/Trefle_as.png", NULL);
}

void afficherCartesJoueur(Jeu *main_joueur, struct sObjets *obj)
{
    GtkWidget *im_carte[8];
    GtkWidget *hbox_main = gtk_hbox_new(FALSE,1);

    int i;
    for(i=0;i<main_joueur->taille;i++)
    {
        obj->bouton_cartes[i]=gtk_button_new();
        im_carte[i] = gtk_image_new_from_pixbuf(main_joueur->jeu[i].pixbuf);
        gtk_button_set_image(GTK_BUTTON(obj->bouton_cartes[i]), im_carte[i]);
        gtk_box_pack_start(GTK_BOX(hbox_main), obj->bouton_cartes[i], FALSE, FALSE, 0);

        int handler_id = g_signal_connect(GTK_OBJECT(obj->bouton_cartes[i]), "clicked", GTK_SIGNAL_FUNC(callback_carte_cliquee), obj);
        if(obj->statut==ANNONCE)
        {
            g_signal_handler_disconnect(GTK_OBJECT(obj->bouton_cartes[i]), handler_id );
        }
    }

    gtk_table_attach(GTK_TABLE(obj->pTable), hbox_main, 2,8,3,4, GTK_EXPAND, GTK_EXPAND, 0, 0);
}

void afficherCartesCachees(struct sObjets *obj, int n)
{
    GtkWidget *jeu_gauche, *jeu_droite, *jeu_face;

    GtkWidget *box_main_gauche=gtk_vbow_new(TRUE, 0);
    GtkWidget *box_main_droite=gtk_vbox_new(TRUE, 0);
    GtkWidget *box_main_face=gtk_vbox_new(TRUE, 0);

    if(n==8)
    {
        jeu_gauche=gtk_image_new_from_file("data/jeu_joueur_gauche.png");
        jeu_droite=gtk_image_new_from_file("data/jeu_joueur_droite.png");
        jeu_face=gtk_image_new_from_file("data/jeu_joueur_face.png");
    }

    if(n==7)
    {
        jeu_gauche=gtk_image_new_from_file("data/jeu_joueur_gauche7.png");
        jeu_droite=gtk_image_new_from_file("data/jeu_joueur_droite7.png");
        jeu_face=gtk_image_new_from_file("data/jeu_joueur_face7.png");
    }


    if(n==6)
    {
        jeu_gauche=gtk_image_new_from_file("data/jeu_joueur_gauche6.png");
        jeu_droite=gtk_image_new_from_file("data/jeu_joueur_droite6.png");
        jeu_face=gtk_image_new_from_file("data/jeu_joueur_face6.png");
    }


    if(n==5)
    {
        jeu_gauche=gtk_image_new_from_file("data/jeu_joueur_gauche5.png");
        jeu_droite=gtk_image_new_from_file("data/jeu_joueur_droite5.png");
        jeu_face=gtk_image_new_from_file("data/jeu_joueur_face5.png");
    }


    if(n==4)
    {
        jeu_gauche=gtk_image_new_from_file("data/jeu_joueur_gauche4.png");
        jeu_droite=gtk_image_new_from_file("data/jeu_joueur_droite4.png");
        jeu_face=gtk_image_new_from_file("data/jeu_joueur_face4.png");
    }


    if(n==3)
    {
        jeu_gauche=gtk_image_new_from_file("data/jeu_joueur_gauche3.png");
        jeu_droite=gtk_image_new_from_file("data/jeu_joueur_droite3.png");
        jeu_face=gtk_image_new_from_file("data/jeu_joueur_face3.png");
    }


    if(n==2)
    {
        jeu_gauche=gtk_image_new_from_file("data/jeu_joueur_gauche2.png");
        jeu_droite=gtk_image_new_from_file("data/jeu_joueur_droite2.png");
        jeu_face=gtk_image_new_from_file("data/jeu_joueur_face2.png");
    }


    if(n==1)
    {
        jeu_gauche=gtk_image_new_from_file("data/jeu_joueur_gauche1.png");
        jeu_droite=gtk_image_new_from_file("data/jeu_joueur_droite1.png");
        jeu_face=gtk_image_new_from_file("data/jeu_joueur_face1.png");
    }

    gtk_box_pack_start(GTK_BOX(box_main_gauche), jeu_gauche, TRUE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(box_main_face), jeu_face, TRUE, TRUE, 0);
    gtk_box_pack_start(GTK_BOX(box_main_droite), jeu_droite, TRUE, TRUE, 0);

    obj->boite_main_gauche=box_main_gauche;
    obj->boite_main_face=box_main_face;
    obj->boite_main_droite=box_main_droite;

    gtk_table_attach(GTK_TABLE(obj->pTable), box_main_gauche, 0,1,0,4, GTK_EXPAND, GTK_EXPAND, 0, 0);
    gtk_table_attach(GTK_TABLE(obj->pTable), box_main_droite, 9,10,0,4, GTK_EXPAND, GTK_EXPAND, 0, 0);
    gtk_table_attach(GTK_TABLE(obj->pTable), box_main_face, 0,10,0,1, GTK_EXPAND, GTK_EXPAND, 0, 0);
}


void poserCarte(Joueur *jo, int numero_carte, struct sObjets *obj)
{
    GtkWidget *image_carte;
    image_carte=gtk_image_new_from_pixbuf(jo->jeuMain->jeu[numero_carte].pixbuf);

    if(jo->placement==NORD) gtk_table_attach_defaults(GTK_TABLE(obj->tapis), image_carte, 1,2,0,1);
    else if(jo->placement==SUD) gtk_table_attach_defaults(GTK_TABLE(obj->tapis), image_carte, 1,2,2,3);
    else if(jo->placement==OUEST) gtk_table_attach_defaults(GTK_TABLE(obj->tapis), image_carte, 0,1,1,2);
    else if(jo->placement==EST) gtk_table_attach_defaults(GTK_TABLE(obj->tapis), image_carte, 2,3,1,2);
}
